// 上传图片到服务器
import { netWorkConfig } from '../config.js'
export default {
	install(Vue, options) {
        /**
         * 上传到服务器
         * @param {Object} file 文件对象
         * @param {String | Number} id 当前上传的标识
         */
        Vue.prototype.$upload = (file, id) => {
            let session = wx.getStorageSync('sessionId');
            let url = `${netWorkConfig.serverApi}?action=API.MembersCard.UploadFile`
            return new Promise((res, rej) => {
                wx.uploadFile({
                    url: url,
                    filePath: file,
                    name: 'file',
                    formData:{
                        'sessionid': session,
                        'id': id
                    },
                    success(data){
                        if (data.statusCode === 200) {
                            let result = null
                            try {
                                result = JSON.parse(data.data)		
                            } catch (e) {
                                rej()
                                ERRHandler('返回结果解析失败')
                            }
                            if (result.code == 200) {
                                res(result.data)
                            } else {
                                ERRHandler(result.message)
                                rej(result.message)
                            }
                        } else {
                            ERRHandler('服务器错误')
                            rej('服务器错误')
                        }
                    },
                    fail(err){
                        ERRHandler('服务器错误')
                        rej('服务器错误')
                    }
                })
            })
        }
	}
}

/**
 * 错误处理
 * @param {String} title 报错信息
 */
const ERRHandler = (title) => {
    wx.showToast({
        title,
        icon: 'none'
    })
}